diff --git a/data_free/game_config/build_menu.txt b/data_free/game_config/build_menu.txt index fdbfb09dc..fc2d81ba6 100644 --- a/data_free/game_config/build_menu.txt +++ b/data_free/game_config/build_menu.txt @@ -34,7 +34,7 @@ "Build to pass over water or lava." } { Furniture {{ "DOWN_STAIRS" } } "Down stairs" "Structure" - "Build to pass over water of lava." } + "Build to go down in the z-levels." } } "doors" diff --git a/data_free/game_config/creatures.txt b/data_free/game_config/creatures.txt index 13e989447..0bc823bb2 100644 --- a/data_free/game_config/creatures.txt +++ b/data_free/game_config/creatures.txt @@ -3816,8 +3816,12 @@ } chatReactionFriendly = "\"Gaze upon my magnificence and tremble, mortal!\"" chatReactionHostile = "\"How dare you defy a GOD!\"" - deathDescription = "vanquished. May he never rise again" + deathDescription = "put into slumber" gender = IT + deathEffect = Chain { + SetFlag "EvilGodAdoxieIsKilled" true + Message "\"Evil God Adoxie has been vanquished. May he never rise again.\"" + } } "ADOXIE_FOOT_LEFT" { diff --git a/data_free/game_config/furniture.txt b/data_free/game_config/furniture.txt index cdf9f8487..00dbda5a4 100644 --- a/data_free/game_config/furniture.txt +++ b/data_free/game_config/furniture.txt @@ -1188,6 +1188,19 @@ Fx { TELEPORT_OUT } DestroyWalls BASH } + overrideMovement = true + movementSet = { + forcibleTraits = { FLY SWIM WADE WALK } + } + itemDrop = {{{{Simple "Rock"} 1 { 3 }}}} + strength2 = { + 300 BOULDER + 100 DIG + 1900 HOSTILE_DIG + 2000 HOSTILE_DIG_NO_SKILL + } + #destroyFX = { ROCK_CLOUD Rgb 200 200 200 255 } + #tryDestroyFX = { DESTROY_FURNITURE Rgb 200 200 200 255 } } "SNOW_WALL" inherit "CASTLE_WALL" { diff --git a/data_free/game_config/tiles.txt b/data_free/game_config/tiles.txt index 2d6247a65..e83834e16 100644 --- a/data_free/game_config/tiles.txt +++ b/data_free/game_config/tiles.txt @@ -617,3 +617,8 @@ isSymbolFont = true wallShadow = true mountainSides = "mountain" background = "mountain2" } +#added for gui purposes - DeliveryService +{ "gui_equipment_locked" "*" ColorId YELLOW } +{ "gui_equipment_locked_highlighted" "*" ColorId WHITE } +{ "gui_equipment_unlocked" "*" ColorId DARK_GRAY } +{ "gui_equipment_unlocked_highlighted" "*" ColorId ALMOST_WHITE } diff --git a/gui_builder.cpp b/gui_builder.cpp index 5c5122a75..c95f8bdcd 100644 --- a/gui_builder.cpp +++ b/gui_builder.cpp @@ -3213,8 +3213,15 @@ SGuiElem GuiBuilder::drawEquipmentAndConsumables(const PlayerInfo& minion, bool WL(button, getButtonCallback({UserInputId::CREATURE_EQUIPMENT_ACTION, EquipmentActionInfo{minion.creatureId, items[i].ids, items[i].slot, ItemAction::LOCK}})), - items[i].locked ? WL(viewObject, ViewId("key")) : WL(mouseHighlight2, WL(viewObject, ViewId("key_highlight"))), - getTooltip({"Locked items won't be automatically swapped by minion."}, THIS_LINE + i) + items[i].locked ? + WL(viewObject, ViewId("gui_inventory_locked")) : + WL(mouseHighlight2, WL(viewObject, ViewId("gui_inventory_locked_highlighted")): + !items[i].locked ? + WL(viewObject, ViewId("gui_inventory_unlocked")) : + WL(mouseHighlight2, WL(viewObject, ViewId("gui_inventory_unlocked_highlighted"))), + items[i].locked ? + getTooltip({"Item Locked. Locked items won't be automatically swapped by minion."}, THIS_LINE + i): + getTooltip({"Item Not Locked. Allows minions to automatically swap it."}, THIS_LINE + i) ); } itemElems.push_back( diff --git a/message_generator.cpp b/message_generator.cpp index 7f09cdabc..01da5f382 100644 --- a/message_generator.cpp +++ b/message_generator.cpp @@ -64,8 +64,14 @@ static void addThird(const Creature* c, MsgType type, const string& param) { case MsgType::BURN: msg = c->getName().the() + " burns in the " + param; unseenMsg = "You hear a horrible scream"; break; case MsgType::DROWN: msg = c->getName().the() + " drowns in the " + param; unseenMsg = "You hear a loud splash" ;break; case MsgType::SET_UP_TRAP: msg = c->getName().the() + " sets up the trap"; break; - case MsgType::KILLED_BY: msg = c->getName().the() + " is "+ - c->getAttributes().getDeathDescription() + " by " + param; break; + case MsgType::KILLED_BY: + if ((c->getName().the())compare(param) = 0) + // If creature name compared to what killed it, + // has zero difference, perform the code below. + msg = c->getName().the() + " has committed suicide."; + else + msg = c->getName().the() + " is "+ + c->getAttributes().getDeathDescription() + " by " + param; break; case MsgType::TURN: msg = c->getName().the() + " turns " + param; break; case MsgType::BECOME: msg = c->getName().the() + " becomes " + param; break; case MsgType::COPULATE: msg = c->getName().the() + " copulates " + param; break;