From: otta8634 Date: Thu, 19 Dec 2024 09:22:10 +0000 (+0800) Subject: Add monsters to the guide X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=f698b5ae597fe3cc1431358c2c046a8a22e53a79;p=xonotic%2Fxonotic-data.pk3dir.git Add monsters to the guide Descriptions were mostly entirely copied from https://gitlab.com/xonotic/xonotic/-/wikis/Monsters. --- diff --git a/qcsrc/common/monsters/all.qh b/qcsrc/common/monsters/all.qh index ae3924c0d..eaae9e832 100644 --- a/qcsrc/common/monsters/all.qh +++ b/qcsrc/common/monsters/all.qh @@ -13,5 +13,5 @@ REGISTRY_CHECK(Monsters) CLASS(NullMonster, Monster) ATTRIB(NullMonster, m_hidden, bool, true); ENDCLASS(NullMonster) -REGISTER_MONSTER(Null, NEW(NullMonster)); +REGISTER_MONSTER(Null, NullMonster); REGISTRY_DEFINE_GET(Monsters, MON_Null) diff --git a/qcsrc/common/monsters/monster.qh b/qcsrc/common/monsters/monster.qh index 9a1115399..eb313cd84 100644 --- a/qcsrc/common/monsters/monster.qh +++ b/qcsrc/common/monsters/monster.qh @@ -56,6 +56,7 @@ CLASS(Monster, Object) /** (BOTH?) sets animations for monster */ METHOD(Monster, mr_anim, bool(Monster this, entity actor)) { TC(Monster, this); return false; } + METHOD(Monster, describe, string(Monster this)) { TC(Monster, this); return SUPER(Object).describe(this); } ENDCLASS(Monster) diff --git a/qcsrc/common/monsters/monster/golem.qh b/qcsrc/common/monsters/monster/golem.qh index 8cebd86a3..782cd214d 100644 --- a/qcsrc/common/monsters/monster/golem.qh +++ b/qcsrc/common/monsters/monster/golem.qh @@ -15,6 +15,12 @@ CLASS(Golem, Monster) #endif ATTRIB(Golem, netname, string, "golem"); ATTRIB(Golem, monster_name, string, _("Golem")); + METHOD(Golem, describe, string(Golem this)) + { + TC(Golem, this); + return _("Golems are truly a force to be feared. They tend to have an immense amount of health and take only half the damage from explosions\n\n" + "His pride and joy is his lightning energy attack. His attacks are throwing electro balls, and if the prey is near him he will attack with his claws"); + } ENDCLASS(Golem) REGISTER_MONSTER(GOLEM, NEW(Golem)); diff --git a/qcsrc/common/monsters/monster/mage.qh b/qcsrc/common/monsters/monster/mage.qh index 8331c4857..17e5c04b4 100644 --- a/qcsrc/common/monsters/monster/mage.qh +++ b/qcsrc/common/monsters/monster/mage.qh @@ -15,6 +15,13 @@ CLASS(Mage, Monster) #endif ATTRIB(Mage, netname, string, "mage"); ATTRIB(Mage, monster_name, string, _("Mage")); + METHOD(Mage, describe, string(Mage this)) + { + TC(Mage, this); + return _("Mages are capable of developing magic with their powerful knowledge that they learn and practice during their spell sciences. " + "Sometimes the Mage can give regeneration to the owner and sometimes makes the owner pay the health for his needs to be with him\n\n" + "The Mage attacks by launching magic balls. This spell attack is known as \"Mage spike\""); + } ENDCLASS(Mage) REGISTER_MONSTER(MAGE, NEW(Mage)); diff --git a/qcsrc/common/monsters/monster/spider.qh b/qcsrc/common/monsters/monster/spider.qh index 5db6a0b8e..f19f5f9fa 100644 --- a/qcsrc/common/monsters/monster/spider.qh +++ b/qcsrc/common/monsters/monster/spider.qh @@ -15,6 +15,12 @@ CLASS(Spider, Monster) #endif ATTRIB(Spider, netname, string, "spider"); ATTRIB(Spider, monster_name, string, _("Spider")); + METHOD(Spider, describe, string(Spider this)) + { + TC(Spider, this); + return _("The Spider is a big arachnid that walks with 8 legs only on the ground, traveling faster than other monsters\n\n" + "When an opponent approaches a Spider, it will spit cobweb energy balls to slow down prey, then attack nearby opponents with its chelicerae"); + } ENDCLASS(Spider) REGISTER_MONSTER(SPIDER, NEW(Spider)); diff --git a/qcsrc/common/monsters/monster/wyvern.qh b/qcsrc/common/monsters/monster/wyvern.qh index ed89b9785..9ddab97f9 100644 --- a/qcsrc/common/monsters/monster/wyvern.qh +++ b/qcsrc/common/monsters/monster/wyvern.qh @@ -15,6 +15,13 @@ CLASS(Wyvern, Monster) #endif ATTRIB(Wyvern, netname, string, "wyvern"); ATTRIB(Wyvern, monster_name, string, _("Wyvern")); + METHOD(Wyvern, describe, string(Wyvern this)) + { + TC(Wyvern, this); + return _("The Wyvern is a dragon that was said to breathe fire or to possess a poisonous breath, a reptilian body, two legs or sometimes none, and a spiked tail. " + "The alleged marine variant had a fishtail instead of the spiny dragon tail\n\n" + "Wyvern flies around the map and chases and attacks his opponents with fireballs"); + } ENDCLASS(Wyvern) REGISTER_MONSTER(WYVERN, NEW(Wyvern)); diff --git a/qcsrc/common/monsters/monster/zombie.qh b/qcsrc/common/monsters/monster/zombie.qh index 1572a95ea..0184d95b1 100644 --- a/qcsrc/common/monsters/monster/zombie.qh +++ b/qcsrc/common/monsters/monster/zombie.qh @@ -15,6 +15,14 @@ CLASS(Zombie, Monster) #endif ATTRIB(Zombie, netname, string, "zombie"); ATTRIB(Zombie, monster_name, string, _("Zombie")); + METHOD(Zombie, describe, string(Zombie this)) + { + TC(Zombie, this); + return _("The Zombie is an undead human that tears chunks of flesh from its head, hindquarters, and crotch before proceeding to toss them at the player character for minor damage\n\n" + "When an opponent comes too close to the Zombie, it will start chasing then launch to attack with a bite\n\n" + "When a Zombie is close to death, it will stand in a \"dead pose,\" from which it can be revived. " + "To properly kill one, you will need to damage the Zombie when it is in a dead pose"); + } ENDCLASS(Zombie) REGISTER_MONSTER(ZOMBIE, NEW(Zombie));