]> git.rm.cloudns.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Add monsters to the guide
authorotta8634 <k9wolf@pm.me>
Thu, 19 Dec 2024 09:22:10 +0000 (17:22 +0800)
committerotta8634 <k9wolf@pm.me>
Thu, 19 Dec 2024 09:22:10 +0000 (17:22 +0800)
Descriptions were mostly entirely copied from https://gitlab.com/xonotic/xonotic/-/wikis/Monsters.

qcsrc/common/monsters/all.qh
qcsrc/common/monsters/monster.qh
qcsrc/common/monsters/monster/golem.qh
qcsrc/common/monsters/monster/mage.qh
qcsrc/common/monsters/monster/spider.qh
qcsrc/common/monsters/monster/wyvern.qh
qcsrc/common/monsters/monster/zombie.qh

index ae3924c0d4677c470cce547ba9a03e38e26ba524..eaae9e832b3dce3c31f813432a1c54287119e4bd 100644 (file)
@@ -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)
index 9a111539949811bad6ffe63611c1429a1f8ca6a4..eb313cd8478700d2cdb3c5e5fe00ab0182b510d4 100644 (file)
@@ -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)
 
 
index 8cebd86a35ffe60e537e8cb4f423de2a25dfe104..782cd214d01fcf02f944664b6e2cca56c77199d0 100644 (file)
@@ -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));
index 8331c4857ac9ce27ea02b8082a1dbb325557cd47..17e5c04b433d0020e8e1725fc4306a132246f148 100644 (file)
@@ -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));
index 5db6a0b8e408f9f7868a068447c8df47627fa55f..f19f5f9fa25b6fef8c1591d4efb48ecbc9563c40 100644 (file)
@@ -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));
index ed89b9785daa98f3802b060a7b880186326a9fb1..9ddab97f9b39c022ec36115ce5eb11ac91d72f3b 100644 (file)
@@ -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));
index 1572a95ea0d34bd346cd0988604dc0fb029b682e..0184d95b18d2bc290f5a20dfa7a35fa84564d1fb 100644 (file)
@@ -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));