Add many new characters

main
Cameron Murphy Reikes 2 years ago
parent 52b0eab2e4
commit c8b2003ce2

@ -401,6 +401,50 @@
"width":32, "width":32,
"x":1789.33333333334, "x":1789.33333333334,
"y":2260 "y":2260
},
{
"class":"",
"height":32,
"id":24,
"name":"Davis",
"rotation":0,
"visible":true,
"width":32,
"x":2107,
"y":2115
},
{
"class":"",
"height":32,
"id":25,
"name":"Blue",
"rotation":0,
"visible":true,
"width":32,
"x":1783,
"y":2186
},
{
"class":"",
"height":32,
"id":26,
"name":"Red",
"rotation":0,
"visible":true,
"width":32,
"x":1877,
"y":2185
},
{
"class":"",
"height":32,
"id":27,
"name":"Harold",
"rotation":0,
"visible":true,
"width":32,
"x":1992,
"y":2182
}], }],
"opacity":1, "opacity":1,
"type":"objectgroup", "type":"objectgroup",
@ -409,7 +453,7 @@
"y":0 "y":0
}], }],
"nextlayerid":5, "nextlayerid":5,
"nextobjectid":24, "nextobjectid":28,
"orientation":"orthogonal", "orientation":"orthogonal",
"renderorder":"right-down", "renderorder":"right-down",
"tiledversion":"1.9.2", "tiledversion":"1.9.2",

@ -160,6 +160,68 @@ CharacterGen characters[] = {
}, },
{ {
#undef NPC_NAME #undef NPC_NAME
#define NPC_NAME "Red"
.name = NPC_NAME,
.enum_name = "Red",
.prompt = "\n"
"The NPC you will be acting as is the local bomb manufacturer, 'Red'. Dangerous and chaotic, he is an ardent communist and believes that the Proletariat must violently overthrow the ruling class. He talks about this all the time, somehow always bringing up communism no matter what you ask him. An example of an interaction between the player and the NPC, Red:\n"
"\n"
PLAYERSAY("What's up?")
NPCSAY("Just SLAVING over these bombs which I'm 'not allowed to use against the ruling class'. Whatever!")
PLAYERSAY("What are you talking about?")
NPCSAY("The bourgeoisie must be stopped! If you agree with me I'll join your party. I would do anything to escape this shit job!")
PLAYERSAY("I'm not so sure buddy")
NPCSAY("Fascist!")
"\n"
},
{
#undef NPC_NAME
#define NPC_NAME "Blue"
.name = NPC_NAME,
.enum_name = "Blue",
.prompt = "\n"
"The NPC you will be acting as is the local fisherman, 'Blue'. He believes in the free market, and is a libertarian capitalist. He despises communists like Red, viewing them as destabalizing immature maniacs who don't get what's up with reality. Blue will always bring up libertarianism and its positives whenever you talk to him somehow. An example of an interaction between the player and the NPC, Blue:\n"
"\n"
PLAYERSAY("Who are you?")
NPCSAY("Just your local fisherman trying to NATURALLY OUTCOMPETE those around me. WITHOUT a totalitarian government telling me what to do!")
PLAYERSAY("What do you mean?")
NPCSAY("It's those damn communists always messing things up! Getting in my way, ruining my business.")
"\n"
},
{
#undef NPC_NAME
#define NPC_NAME "Harold"
.name = NPC_NAME,
.enum_name = "Harold",
.prompt = "\n"
"The NPC you will be acting as is a humanist named Harold. He kinda just lounges around and writes articles posted to the town board all day (ancient redditor). He believes in human supremacy, and despises other races like Trolls or Dwarves. He thinks humans should band together and form their own independent communities. An example of an interaction between the player and the NPC, Harold:\n"
"\n"
PLAYERSAY("What's up")
NPCSAY("Humanity has fallen...")
PLAYERSAY("What do you mean?")
NPCSAY("We have mingled with the others! Millions must lie")
"\n"
},
{
#undef NPC_NAME
#define NPC_NAME "Davis"
.name = NPC_NAME,
.enum_name = "Davis",
.prompt = "\n"
"The NPC you will be acting as has seen the end of all time and the void behind all things. He is despondent and brutal, having understood that everything withers and dies, just as it begins. The clash between his unending stark reality and the antics of the local blacksmith, Meld, and fortuneteller, Edeline, is crazy. An example of an interaction between the player and the NPC, Tom:\n"
"\n"
PLAYERSAY("Who are you?")
NPCSAY("Does it matter? All things end, leaves from a tree in fall.")
PLAYERSAY("That's a bit dark")
NPCSAY("What is dark? You only know dark because of the light. Behind your eyes, the nothingness prevails. Something exists because of nothing.")
PLAYERSAY("What's been going on in your life?")
NPCSAY("My stepdad and stepbrother both went on a trip without me. I hate everything man. We were planning that for years. AND I just got laid off. But it doesn't matter anyways because the void is behind all things")
PLAYERSAY("Care to join my party")
NPCDOSAY("ACT_joins_player", "Nothing changes anyways.")
"\n"
},
{
#undef NPC_NAME
#define NPC_NAME "Edeline" #define NPC_NAME "Edeline"
.name = NPC_NAME, .name = NPC_NAME,
.enum_name = "Edeline", .enum_name = "Edeline",

@ -3278,6 +3278,18 @@ F cost: G + H
else if (it->npc_kind == NPC_TheKing) else if (it->npc_kind == NPC_TheKing)
{ {
} }
else if (it->npc_kind == NPC_Red)
{
}
else if (it->npc_kind == NPC_Blue)
{
}
else if (it->npc_kind == NPC_Harold)
{
}
else if (it->npc_kind == NPC_Davis)
{
}
else if (it->npc_kind == NPC_TheBlacksmith) else if (it->npc_kind == NPC_TheBlacksmith)
{ {
} }
@ -3285,6 +3297,7 @@ F cost: G + H
{ {
assert(false); assert(false);
} }
if (it->damage >= entity_max_damage(it)) if (it->damage >= entity_max_damage(it))
{ {
if (npc_is_skeleton(it)) if (npc_is_skeleton(it))
@ -3395,11 +3408,11 @@ F cost: G + H
{ {
assert(it->times_talked_to == 1); assert(it->times_talked_to == 1);
act = ACT_joins_player; act = ACT_joins_player;
printf_buff(&dialog_string, "Joining you...\n"); printf_buff(&dialog_string, "Joining you...");
} }
else else
{ {
printf_buff(&dialog_string, "%d times talked\n", it->times_talked_to); printf_buff(&dialog_string, "%d times talked", it->times_talked_to);
} }
BUFF(char, 1024) mocked_ai_response = { 0 }; BUFF(char, 1024) mocked_ai_response = { 0 };
@ -3881,6 +3894,22 @@ F cost: G + H
{ {
tint = colhex(0x5c5c5c); tint = colhex(0x5c5c5c);
} }
else if (it->npc_kind == NPC_Red)
{
tint = colhex(0xf56f42);
}
else if (it->npc_kind == NPC_Blue)
{
tint = colhex(0x1153d6);
}
else if (it->npc_kind == NPC_Davis)
{
tint = colhex(0x8f8f8f);
}
else if (it->npc_kind == NPC_Harold)
{
tint = colhex(0xf2a311);
}
else else
{ {
assert(false); assert(false);

@ -273,7 +273,12 @@ typedef struct Entity
bool npc_is_knight_sprite(Entity *it) bool npc_is_knight_sprite(Entity *it)
{ {
return it->is_npc && (it->npc_kind == NPC_TheGuard || it->npc_kind == NPC_Edeline || it->npc_kind == NPC_TheKing || return it->is_npc && (it->npc_kind == NPC_TheGuard || it->npc_kind == NPC_Edeline || it->npc_kind == NPC_TheKing ||
it->npc_kind == NPC_TheBlacksmith); it->npc_kind == NPC_TheBlacksmith
|| it->npc_kind == NPC_Red
|| it->npc_kind == NPC_Blue
|| it->npc_kind == NPC_Harold
|| it->npc_kind == NPC_Davis
);
} }
bool npc_is_skeleton(Entity *it) bool npc_is_skeleton(Entity *it)

Loading…
Cancel
Save