Skip to content

Commit

Permalink
content(tormen): Added Leviathan
Browse files Browse the repository at this point in the history
Closes #380
  • Loading branch information
db0 committed Aug 18, 2022
1 parent 5ab0fbe commit 74f07ab
Show file tree
Hide file tree
Showing 14 changed files with 351 additions and 16 deletions.
Binary file added assets/enemies/Leviathan.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
35 changes: 35 additions & 0 deletions assets/enemies/Leviathan.png.import
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
[remap]

importer="texture"
type="StreamTexture"
path="res://.import/Leviathan.png-2eebead7f617f6e47e31118f53a369d6.stex"
metadata={
"vram_texture": false
}

[deps]

source_file="res://assets/enemies/Leviathan.png"
dest_files=[ "res://.import/Leviathan.png-2eebead7f617f6e47e31118f53a369d6.stex" ]

[params]

compress/mode=1
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
process/normal_map_invert_y=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0
Binary file added assets/journal/advanced/Leviathan.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
35 changes: 35 additions & 0 deletions assets/journal/advanced/Leviathan.png.import
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
[remap]

importer="texture"
type="StreamTexture"
path="res://.import/Leviathan.png-659979970df50650137406eaf283b826.stex"
metadata={
"vram_texture": false
}

[deps]

source_file="res://assets/journal/advanced/Leviathan.png"
dest_files=[ "res://.import/Leviathan.png-659979970df50650137406eaf283b826.stex" ]

[params]

compress/mode=1
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
process/normal_map_invert_y=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0
1 change: 1 addition & 0 deletions payload.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"uid":[58], "input": "I found myself in an philosophical argument with a clown"}
20 changes: 10 additions & 10 deletions src/dreamscape/Board.gd
Original file line number Diff line number Diff line change
Expand Up @@ -467,12 +467,12 @@ func _input(event):
# SoundManager.play_bgm(bgm_tracks[0])
# SoundManager.fade_in(bgm_tracks[0])
# warning-ignore:unused_variable
# _debug_advanced_enemy()
_debug_advanced_enemy()
var _torment1
var _torment2
var _torment3
# _torment1 = spawn_enemy(EnemyDefinitions.SHAMELING)
_torment1 = spawn_enemy(EnemyDefinitions.LOTUSTUS)
# _torment1 = spawn_enemy(EnemyDefinitions.LOTUSTUS)
# _torment1 = spawn_enemy(EnemyDefinitions.VOID)
# _torment2 = spawn_enemy(EnemyDefinitions.SHAMELING)
# _torment2 = spawn_enemy(EnemyDefinitions.GASLIGHTER)
Expand Down Expand Up @@ -513,10 +513,10 @@ func _input(event):
# warning-ignore:return_value_discarded
# globals.player.add_memory(MemoryDefinitions.BufferSelf.canonical_name)
dreamer.active_effects.mod_effect(Terms.ACTIVE_EFFECTS.buffer.name, 1)
dreamer.active_effects.mod_effect(Terms.ACTIVE_EFFECTS.armor.name, 46)
# dreamer.active_effects.mod_effect(Terms.ACTIVE_EFFECTS.armor.name, 46)
# dreamer.active_effects.mod_effect(Terms.ACTIVE_EFFECTS.absurdity_unleashed.name, 1)
dreamer.active_effects.mod_effect(Terms.ACTIVE_EFFECTS.creative_block.name, 1)
dreamer.active_effects.mod_effect(Terms.ACTIVE_EFFECTS.laugh_at_danger.name, 1)
# dreamer.active_effects.mod_effect(Terms.ACTIVE_EFFECTS.laugh_at_danger.name, 1)
# dreamer.active_effects.mod_effect(Terms.ACTIVE_EFFECTS.heat_venting.name, 1, false, false, ['Debug'], 'high')
# Performance Tests
# for iter in 100:
Expand Down Expand Up @@ -560,18 +560,18 @@ func _input(event):

func _debug_advanced_enemy():
pass
var advanced_entity: EnemyEntity =\
load("res://src/dreamscape/CombatElements/Enemies/Bosses/SurrealBoss.tscn").instance()
# var advanced_entity: EnemyEntity =\
# load("res://src/dreamscape/CombatElements/Enemies/Bosses/Narcissus.tscn").instance()
# load("res://src/dreamscape/CombatElements/Enemies/Bosses/SurrealBoss.tscn").instance()
# var advanced_entity: EnemyEntity =\
# load("res://src/dreamscape/CombatElements/Enemies/Elites/IndescribableAbsurdity.tscn").instance()
advanced_entity.setup_advanced("hard")
# load("res://src/dreamscape/CombatElements/Enemies/Bosses/Narcissus.tscn").instance()
var advanced_entity: EnemyEntity =\
load("res://src/dreamscape/CombatElements/Enemies/Elites/Leviathan.tscn").instance()
advanced_entity.setup_advanced("medium")
_enemy_area.add_child(advanced_entity)
advanced_entity.connect("finished_activation", self, "_on_finished_enemy_activation")
emit_signal("enemy_spawned", advanced_entity)
# advanced_entity.active_effects.mod_effect(Terms.ACTIVE_EFFECTS.self_cleaning.name, 3)
advanced_entity.active_effects.mod_effect(Terms.ACTIVE_EFFECTS.disempower.name, 11)
# advanced_entity.active_effects.mod_effect(Terms.ACTIVE_EFFECTS.disempower.name, 11)
# warning-ignore:return_value_discarded


Expand Down
35 changes: 35 additions & 0 deletions src/dreamscape/CombatElements/Enemies/Elites/Leviathan.gd
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
extends AdvancedEnemyEntity

const PROPERTIES := {
"name": "Leviathan",
"Health": 70,
"Type": "Existential",
"Damage": 0,
"_texture_size_x": 160,
"_texture_size_y": 160,
"_character_art": 'Silberfarben via midjourney.com',
"_is_ordered": true,
"_health_variability": 7,
}

func _ready() -> void:
# ._ready()
match get_property("_difficulty"):
"easy":
health -= 20
"hard":
health += 20
cfc.NMAP.board.connect("enemy_spawned", self, "_on_enemy_spawned")
var spawn_act = [
{
"name": "spawn_enemy",
"enemy": EnemyDefinitions.IMMOBILITY,
"object_count": 2,
"set_spawn_as_minion": true,
"tags": ['init'],
}
]
intents.execute_special_script(spawn_act, self, self)

func _on_enemy_spawned(torment: CombatEntity) -> void:
get_parent().move_child(self, 1)
71 changes: 71 additions & 0 deletions src/dreamscape/CombatElements/Enemies/Elites/Leviathan.tscn
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
[gd_scene load_steps=8 format=2]

[ext_resource path="res://shaders/invert.shader" type="Shader" id=1]
[ext_resource path="res://src/dreamscape/CombatElements/Enemies/EnemyIntents.tscn" type="PackedScene" id=2]
[ext_resource path="res://src/dreamscape/CombatElements/CombatEntity.tscn" type="PackedScene" id=3]
[ext_resource path="res://src/dreamscape/CombatElements/Enemies/Elites/LeviathanIntents.gd" type="Script" id=4]
[ext_resource path="res://src/dreamscape/CombatElements/Enemies/Elites/Leviathan.gd" type="Script" id=5]
[ext_resource path="res://assets/enemies/Leviathan.png" type="Texture" id=6]

[sub_resource type="ShaderMaterial" id=1]
resource_local_to_scene = true
shader = ExtResource( 1 )
shader_param/is_active = false

[node name="Leviathan" groups=["BossEntities", "EnemyEntities"] instance=ExtResource( 3 )]
script = ExtResource( 5 )
character_art_texture = ExtResource( 6 )

[node name="Push" parent="." index="0"]
margin_bottom = 0.0

[node name="Intents" parent="." index="1" instance=ExtResource( 2 )]
margin_top = 4.0
margin_right = 69.0
margin_bottom = 47.0
rect_min_size = Vector2( 0, 43 )

[node name="IntentBackground" parent="Intents" index="0"]
margin_right = 69.0
margin_bottom = 43.0

[node name="MC" parent="Intents" index="1"]
margin_right = 69.0
margin_bottom = 43.0

[node name="EnemyIntents" parent="Intents/MC" index="0"]
margin_right = 59.0
margin_bottom = 18.0
script = ExtResource( 4 )

[node name="CenterContainer" parent="." index="2"]
margin_top = 51.0
margin_bottom = 87.0
rect_min_size = Vector2( 0, 36 )

[node name="Art" parent="." index="3"]
margin_top = 91.0
margin_bottom = 91.0

[node name="Texture" parent="Art" index="0"]
material = SubResource( 1 )

[node name="Name" parent="." index="4"]
margin_top = 91.0
margin_bottom = 121.0
rect_min_size = Vector2( 0, 30 )

[node name="HP" parent="." index="5"]
margin_top = 95.0
margin_bottom = 104.0

[node name="HBC" parent="." index="6"]
margin_top = 108.0
margin_bottom = 144.0
rect_min_size = Vector2( 0, 15 )

[node name="ActiveEffects" parent="." index="7"]
margin_top = 148.0
margin_bottom = 184.0

[editable path="Intents"]
104 changes: 104 additions & 0 deletions src/dreamscape/CombatElements/Enemies/Elites/LeviathanIntents.gd
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
extends BossIntents

const INTENTS := [
{
"intent_scripts": ["Your Place"],
"reshuffle": false,
},
{
"intent_scripts": ["Pondering"],
"reshuffle": false,
},
{
"intent_scripts": ["Pondering"],
"reshuffle": false,
},
{
"intent_scripts": ["Ennui"],
"reshuffle": false,
},
{
"intent_scripts": ["Existential Anguish"],
"reshuffle": true,
},
]

func _ready() -> void:
all_intents = INTENTS.duplicate(true)


func _get_intent_scripts(intent_name: String) -> Array:
return(_get_elite_scripts(intent_name))


func _get_elite_scripts(intent_name: String) -> Array:
var intent_scripts := []
var script : Dictionary
var difficulty
match combat_entity.get_property("_difficulty"):
"easy":
difficulty = 2
"medium":
difficulty = 3
"hard":
difficulty = 4
match intent_name:
"Existential Anguish":
script = {
"name": "modify_damage",
"tags": ["Attack", "Intent"],
"subject": "dreamer",
"amount": difficulty * 10,
"icon": all_intent_scripts.ICON_ATTACK,
"description": "Stress: Will cause the dreamer to take the specified amount of {anxiety}.",
}
intent_scripts.append(script)
match intent_name:
"Pondering":
script = {
"name": "assign_defence",
"tags": ["Intent"],
"subject": "boardseek",
"amount": difficulty,
"subject_count": "all",
"filter_state_seek": [{
"filter_group": "EnemyEntities",
},],
"icon": all_intent_scripts.ICON_DEFEND,
"description": "Perplex Group: Will give all Torments the specified amount of {perplexity}."
}
intent_scripts.append(script)
if get_tree().get_nodes_in_group("EnemyEntities").size() == 1:
script = {
"name": "modify_damage",
"tags": ["Attack", "Intent"],
"subject": "dreamer",
"amount": difficulty * 3,
"icon": all_intent_scripts.ICON_ATTACK,
"description": "Stress: Will cause the dreamer to take the specified amount of {anxiety}.",
}
intent_scripts.append(script)
match intent_name:
"Ennui":
script = {
"name": "spawn_card_to_container",
"card_name": "Inescepable Conclusion",
"dest_container": "hand",
"object_count": 1,
"tags": ["Intent"],
"icon": all_intent_scripts.ICON_SPAWN_CARD,
"description": "This Torment is planning to give you a card."
}
intent_scripts.append(script)
match intent_name:
"Your Place":
script = {
"name": "modify_damage",
"tags": ["Attack", "Intent"],
"subject": "dreamer",
"amount": (difficulty * 3) + 4,
"icon": all_intent_scripts.ICON_ATTACK,
"description": "Stress: Will cause the dreamer to take the specified amount of {anxiety}.",
}
intent_scripts.append(script)
return(intent_scripts)
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ extends AdvancedEnemyEntity

const PROPERTIES := {
"name": "Theatre Play",
"Health": 108,
"Health": 168,
"Type": "Fear",
"Damage": 0,
"_texture_size_x": 180,
Expand Down
40 changes: 40 additions & 0 deletions src/dreamscape/CombatElements/Enemies/Enemies.gd
Original file line number Diff line number Diff line change
Expand Up @@ -951,3 +951,43 @@ const LOTUSTUS := {
"_character_art": "SkylarkGSH"
}

const IMMOBILITY := {
"Name": "Immobility",
"Type": "Extistential",
"Health": 20,
"Intents": [
{
"intent_scripts": ["Stress:3", "Perplex:4", "Lethargy:1"],
"reshuffle": true,
"max_in_a_row": 1,
},
{
"intent_scripts": ["Stress:2", "Perplex:5", "Lethargy:1"],
"reshuffle": false,
},
{
"intent_scripts": ["Stress:1", "Perplex:6", "Lethargy:1"],
"reshuffle": false,
},
{
"intent_scripts": ["Stress:4", "Perplex:3", "Lethargy:1"],
"reshuffle": false,
},
{
"intent_scripts": ["Stress:5", "Perplex:2", "Lethargy:1"],
"reshuffle": false,
},
{
"intent_scripts": ["SpawnCard:Inescepable Conclusion:Hand"],
"reshuffle": false,
"max_uses": 1,
},
],
"_health_variability": 2,
"_texture_size_x": "60",
"_texture_size_y": "60",
# "_texture": "res://assets/enemies/Overworked Servus.jpg",
"_character_art": "Nobody",
"_description": "",
}

Loading

0 comments on commit 74f07ab

Please sign in to comment.