Make the Avalian Trader less robotic, add Avali Feather

This commit is contained in:
2025-11-11 11:43:58 +00:00
parent 7038741693
commit a9b0d1571d
13 changed files with 268 additions and 80 deletions
+38 -14
View File
@@ -38,11 +38,11 @@ namespace ForgottenWawiTech.Content.NPCs.TownNPCs
NPC.width = 18;
NPC.height = 40;
NPC.aiStyle = 7;
NPC.damage = 10;
NPC.defense = 15;
NPC.lifeMax = 250;
NPC.damage = 30;
NPC.defense = 10;
NPC.lifeMax = 500;
NPC.HitSound = SoundID.NPCHit1;
NPC.DeathSound = SoundID.NPCDeath1;
NPC.DeathSound = SoundID.NPCDeath6;
NPC.knockBackResist = 0.5f;
AnimationType = NPCID.Guide;
@@ -50,8 +50,8 @@ namespace ForgottenWawiTech.Content.NPCs.TownNPCs
public override bool CanTownNPCSpawn(int numTownNPCs)
{
// Example: Always spawn if there's room
return true;
// Only spawn if a player has obtained RGBass in this world
return ForgottenWawiTechSystem.hasObtainedRGBass;
}
public override List<string> SetNPCNameList()
@@ -92,23 +92,47 @@ namespace ForgottenWawiTech.Content.NPCs.TownNPCs
public override void AddShops()
{
var npcShop = new NPCShop(Type)
new NPCShop(Type)
.Add<Items.Materials.RGBass>()
.Add<Items.Materials.VisorShard>()
.Add<Items.Materials.RGBAlloy>()
.Add<Items.Accessories.DevInfiniteMana>();
npcShop.Register();
.Add(ItemID.RainbowBrick) // TODO: Force Rainbow Brick to not have No Value.
.Add<Items.Materials.AvaliFeather>()
.Register();
}
public override string GetChat()
{
switch (0)
switch (Main.rand.Next(15))
{
case 0:
return "*avalian chirping*";
case 1:
return "Welcome! I've traveled far from Avalon to bring you the finest technology.";
case 2:
return "These feathers? They're not just for show - they're quite valuable!";
case 3:
return "RGB technology is all the rage back home. Everything needs more colors!";
case 4:
return "The visor shards I sell are fragments from our most advanced equipment.";
case 5:
return "My pack may be small, but I've traversed dimensions to get here.";
case 6:
return "*chirps excitedly* Oh, you're interested in our wares?";
case 7:
return "Avalon sends its regards! And its finest materials.";
case 8:
return "Don't underestimate the power of a well-crafted alloy.";
case 9:
return "The journey here was long, but your world has such fascinating resources!";
case 10:
return "*preens feathers* Presentation is important in any trade.";
case 11:
return "RGBass - it's not just a material, it's a lifestyle.";
case 12:
return "I wonder what the other traders back on Avalon would think of this place...";
case 13:
return "My species may be small, but we're excellent engineers!";
default:
return "I have no idea what to say.";
return "Need something? My shop is always open!";
}
}