Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 ... 272 273 [274] 275 276 ... 288

Author Topic: Chapter Master - In the name of the Emperor!  (Read 799685 times)

angelious

  • Bay Watcher
    • View Profile
Re: Chapter Master - In the name of the Emperor!
« Reply #4095 on: July 12, 2021, 07:54:38 am »

Seem to have hit a hard lock state.

I found an uninhabited planet with an artifact on it. Forgetting how to actually recover it, I did an attack on the planet and landed my forces. Combat started up, immediately completed because there were no enemy forces. After the combat screen, it immediately kicked over to the Apothecarion screen. I couldn't do anything from there, all buttons except the Slave Incubator buttons were inactive and I had to crash out the game.

that happens to me constantly as well. it also corrupts or just deletes the save files afterwards.
Logged

nenjin

  • Bay Watcher
  • Inscrubtable Exhortations of the Soul
    • View Profile
Re: Chapter Master - In the name of the Emperor!
« Reply #4096 on: July 12, 2021, 10:25:12 am »

My save file seemed ok after I did it.

Also seems to happen with Ancient Ruins as well.
Logged
Cautivo del Milagro seamos, Penitente.
Quote from: Viktor Frankl
When we are no longer able to change a situation, we are challenged to change ourselves.
Quote from: Sindain
Its kinda silly to complain that a friendly NPC isn't a well designed boss fight.
Quote from: Eric Blank
How will I cheese now assholes?
Quote from: MrRoboto75
Always spaghetti, never forghetti

nenjin

  • Bay Watcher
  • Inscrubtable Exhortations of the Soul
    • View Profile
Re: Chapter Master - In the name of the Emperor!
« Reply #4097 on: July 12, 2021, 06:18:00 pm »

Incidentally, I found Scheduled Chapter Events.

So the first thing I did was disembark my whole chapter and have a chapter-wide banquet to kick off le crusade. I was tickled pink to see the text output. Although with 1000 entries to get through, it was going to take too long. I think I only read through about 200 or so. With what seems like a 5 second delay per entry being displayed, according to my math, it would take 83 minutes to get through an entire chapter at a banquet. And I so did want to see if my Chapter Master awkwardly decided to not eat at his own feast.....

Which got me to thinking, there needs to be more entries there. So I'll write some more blurbs for banquets.

@TheLion Anything about the framework I need to know before I put it in text? If the text needs calls to variables I can write those in, just need to know what to look for.

(Also it'd be nice to increase the scroll speed, store each line and give the dialog window a scroll bar so it both takes less time to get through and you can review them.)
« Last Edit: July 12, 2021, 06:53:29 pm by nenjin »
Logged
Cautivo del Milagro seamos, Penitente.
Quote from: Viktor Frankl
When we are no longer able to change a situation, we are challenged to change ourselves.
Quote from: Sindain
Its kinda silly to complain that a friendly NPC isn't a well designed boss fight.
Quote from: Eric Blank
How will I cheese now assholes?
Quote from: MrRoboto75
Always spaghetti, never forghetti

TheLion

  • Bay Watcher
    • View Profile
Re: Chapter Master - In the name of the Emperor!
« Reply #4098 on: July 12, 2021, 08:26:49 pm »

Incidentally, I found Scheduled Chapter Events.

Sorry I have been busy converting the project to GMS2, from what I can tell most of the other options festivals options have been written, but their effects and details have not been completed.

While I am grateful for any new writing, the simple truth is, I don't even know what is needed.

I am in the process on making it easier to add new content. I just need to finish the conversion to GMS2 and create the new systems for it.

Code: [Select]
if (tooltip="Great Feast") then tooltip2="Holds a massive feast and celebration for your astartes.";
if (tooltip!="Great Feast") and (target="event_type") then tooltip2="(NOT COMPLETED YET)";

/*
if (tooltip="Tournament") then tooltip2="Hosts a non-lethal tournament for friendly competition.";
if (tooltip="Deathmatch") then tooltip2="Pits all those present to fight until one remains standing.  HQ are unable to participate.";
if (tooltip="Imperial Mass") then tooltip2="Hosts Imperial Cult Mass for your astartes, in praise of the Emperor.";
if (tooltip="Chapter Sermon") then tooltip2="Hosts a Chapter Cult sermon for your astartes, praising the "+string(global.chapter_name)+".";
if (tooltip="Chapter Relic") then tooltip2="Instructs your "+string(obj_ini.role[100,16])+"s and "+string(obj_ini.role[100,14])+"s to construct a Chapter artifact.";
if (tooltip="Triumphal March") then tooltip2="Present Astartes will participate in a massive march to present a show of arms and power.";
*/


Code: [Select]
var blurp2;blurp2="";
    if (menu_adept=0){
        if (fest_scheduled=0){
            if (global.chapter_name!="Space Wolves") and (global.chapter_name!="Iron Hands") then blurp2="As our bolters are charged with death for the Emperor's enemies, our thoughts are charged with his wisdom.  As our bodies are armoured with Adamantium, our souls are protected with our loyalty- loyalty to Him, and loyalty to our brothers.  The bonds of this brotherhood are worth revering, even if a lull in duty invites doubt and heresy.  Should you wish to schedule a rousing event, or challenge, I will make it so.  Under the careful watch of our "+string(obj_ini.role[100,14])+"s, our brothers' spirits may be lifted.";
            if (global.chapter_name="Space Wolves") then blurp2="";
            if (global.chapter_name="Iron Hands") then blurp2="";
        }
        if (fest_scheduled=1){
            if (fest_type!="Chapter Relic") then blurp2="A "+string(fest_type)+" has been scheduled on ";
            if (fest_type="Chapter Relic") then blurp2="Chapter Relic construction has been scheduled on ";
           
            if (fest_planet=0) then blurp2+=string(obj_ini.ship[fest_sid]);
            if (fest_planet>0) then blurp2+=string(fest_star)+" "+scr_roman(fest_wid);
           
            if (fest_honoring=0) then blurp2+=".  ";
            if (fest_honoring=1) then blurp2+=" in your name.  ";
            if (fest_honoring=2){// Specific company
                blurp2+=" in honor of the ";
            }
            if (fest_honoring=3){
                blurp2+=" in honor of ";
                blurp2+=string(obj_ini.role[fest_honor_co,fest_honor_id])+" ";
                blurp2+=string(obj_ini.name[fest_honor_co,fest_honor_id])+" ("+string(fest_honor_co)+"th Company).  ";
            }
            if (fest_honoring=4){// faction
                blurp2+=", honoring ";
            }
            if (fest_honoring=5) then blurp2+=", giving praise to The Emperor.  ";
            if (fest_honoring=6) then blurp2+=" to honor our chapter.  ";
           
            if (fest_lav<=1) then blurp2+="Very little requisiton has been set aside for the event";
            if (fest_lav=2) then blurp2+="A minor amount of requisition has been dedicated for the event";
            if (fest_lav=3) then blurp2+="Moderate expenses are being made for the event";
            if (fest_lav=4) then blurp2+="A great amount of requisiton is set aside for the event";
            if (fest_lav=5) then blurp2+="The event is set to be lavish and excessive, with maximum requisition spent";
           
            if (fest_repeats<=1) then blurp2+=".  It is set to run for "+string(fest_repeats)+" month.";
            if (fest_repeats>1) then blurp2+=".  It is set to run for "+string(fest_repeats)+" months.";
           
            if (fest_type="Great Feast"){
                if (fest_feature1=1) and (fest_feature2+fest_feature3=0) then blurp2+="  The feast will be made up entirely of a banquet.";
                if (fest_feature1=1) and (fest_feature2+fest_feature3>0){
                    blurp2+="  The feast will primarily be made up of a banquet, although ";
                   
                    if (fest_feature2+fest_feature3=2) then blurp2+="drugs and alcohol will be present for those who wish to partake.";
                    if (fest_feature2=1) and (fest_feature3=0) then blurp2+="alcohol will also be present.";
                    if (fest_feature2=0) and (fest_feature3=1) then blurp2+="drugs will also be present.";
                }
                if (fest_feature1=0){
                    if (fest_feature2=1) and (fest_feature3=0) then blurp2="  The feast will only be such in name, and actually primarily be composed of alcohol consumption and roudy behavior.";
                    if (fest_feature2=0) and (fest_feature3=1) then blurp2="  The feast will only be such in name, and actually primarily be composed of lines of drugs and roudy behavior.";
                }
            }
            if (fest_type="Tournament"){
                if (fest_feature3=1) then blurp2+="  Other Chapters have been invited to partake in the event, although it is not known who, if any, might show.";
                if (fest_feature2=1) then blurp2+="  Spectators are encouraged, with efforts made to keep attending simple.";
            }
            if (fest_type="Deathmatch"){
                if (fest_feature2=1) then blurp2+="  Spectators are encouraged, with efforts made to keep attending simple.";
                if (fest_feature3=1) then blurp2+="  Smaller, similar deathmatches will be held for Imperial citizens who wish to partake.";
            }
            if (fest_type="Chapter Relic"){
                if (fest_feature1=1) then blurp2+="  Our "+string(obj_ini.role[100,16])+"s aim to create a weapon.";
                if (fest_feature2=1) then blurp2+="  Our "+string(obj_ini.role[100,16])+"s aim to create a suit of armor.";
                if (fest_feature3=1) then blurp2+="  Our "+string(obj_ini.role[100,16])+"s aim to hone and strengthen an already existing relic.";
            }
            if (fest_type="Imperial Mass"){
                if (fest_feature2=1) then blurp2+="  An Ecclesiarchy priest has been requested to lead the sermons.";
                if (fest_feature3=1) then blurp2+="  Adepta Sororita presence has been requested, to share in praising the Emperor.";
            }
            if (fest_type="Chapter Sermon"){
                if (fest_feature1=1) and (fest_feature2+fest_feature3=0) then blurp2+="  The Chapter Cult Sermon is pointedly sanctioned within the bounds of the Codex Astartes and Imperial tradition.";
                if (fest_feature1=0) and (fest_feature2+fest_feature3=0) then blurp2+="  The Chapter Cult Sermon contains some radical or questionable practices, but such is allowed, as our traditions.";
                if (fest_feature2=1) then blurp2+="  Blood sacrifices are a primary focus with the sermon, celebrating martial prowess and our semi-divinity.";
                if (fest_feature2>0) and (fest_feature3=1) then blurp2+="  Drugs will also be present for the ceremony.";
                if (fest_feature2=0) and (fest_feature3>1) then blurp2+="  Mind-altering drugs will be a primary focus of the sermon.";
            }
            if (fest_type="Triumphal March"){
                if (fest_feature1=1) then blurp2+="  Local Imperials will be required to attend our march- those that attempt to avoid our revelry are clearly heretics and will be dealt with as such.";
                if (fest_feature2=1) then blurp2+="  Cadences and battle cries will honor our closest allies, giving them due credit where it is needed.";
                if (fest_feature3=1) then blurp2+="  Bloody trophies of our conquests will be brandished to the populance.";
            }
        }
    }
   
Logged
Currently developing Chapter Master

Link to current version.
http://www.bay12forums.com/smf/index.php?topic=142620.msg8298333#msg8298333

nenjin

  • Bay Watcher
  • Inscrubtable Exhortations of the Soul
    • View Profile
Re: Chapter Master - In the name of the Emperor!
« Reply #4099 on: July 12, 2021, 08:33:46 pm »

Oh cool, there's Chapter specific logic in there. Nice.

edit

For now though, I just wanted to add to the Feast message pool. That should be easy to just drop additions in to.
« Last Edit: July 12, 2021, 08:57:42 pm by nenjin »
Logged
Cautivo del Milagro seamos, Penitente.
Quote from: Viktor Frankl
When we are no longer able to change a situation, we are challenged to change ourselves.
Quote from: Sindain
Its kinda silly to complain that a friendly NPC isn't a well designed boss fight.
Quote from: Eric Blank
How will I cheese now assholes?
Quote from: MrRoboto75
Always spaghetti, never forghetti

TheLion

  • Bay Watcher
    • View Profile
Re: Chapter Master - In the name of the Emperor!
« Reply #4100 on: July 12, 2021, 10:13:49 pm »

Oh cool, there's Chapter specific logic in there. Nice.

edit

For now though, I just wanted to add to the Feast message pool. That should be easy to just drop additions in to.

I just realized I didn't paste the the misc actions during the event, I think you may also want this.

Code: [Select]
#event alarm0

var intro;intro="";

if (obj_controller.fest_type="Great Feast"){
    if (obj_controller.fest_feasts=0) then obj_controller.fest_feasts+=1;
   
    if (obj_controller.fest_lav<4) then intro="Once all are seated Chapter Serfs begin to ferry the covered main dish";
    if (obj_controller.fest_lav>=4) then intro="Once all are seated Chapter Serfs begin to ferry the first of several dishes";
   
    if (obj_controller.fest_feature2=1) and (obj_controller.fest_feature3=0) then intro+=" and alcohol";
    if (obj_controller.fest_feature2=0) and (obj_controller.fest_feature3=1) then intro+=" and drugs";
    if (obj_controller.fest_feature2=1) and (obj_controller.fest_feature3=1) then intro+=", booze, and drugs";
   
    intro+=" into the room.  This is ";
   
    if (obj_controller.fest_feature2+obj_controller.fest_feature3>0) then intro+="all ";
    intro+="placed front and center.  A silver cloche is then removed, revealing ";
   
    if (obj_controller.fest_lav<=1){
        if (attendants<=50) then intro+="a large vat of stew, made up of Triglyceride Gel and grox meat.";
        if (attendants>50) then intro+="several large vats of stew, made up of Triglyceride Gel and grox meat.";
    }
    if (obj_controller.fest_lav=2){
        if (attendants<=50) then intro+="an entire roast Grox, finely seasoned and flavored.  Vegtables lay around the belly and feet of the beast.";
        if (attendants>50) then intro+="several roast Grox, each finely seasoned and flavored.  Vegtables lay around the bellies and feet of the beasts.";
    }
    if (obj_controller.fest_lav=3){
        if (attendants<=105) then intro+="a massive, roasted Borreron Terrorwing, maronated in Dammassine and filled with stuffing.";
        if (attendants>105) then intro+="a pair of roasted Borreron Terrorwings, each maronated in Dammassine and filled with stuffing.";
    }
    if (obj_controller.fest_lav=4){
        intro+="cheese and wine Hors d'oeuvre and pasties, the small, bite-size edibles decorated with a flourish.";
        part2="fish";
    }
    if (obj_controller.fest_lav>=5){
        if (attendants<=50) then intro+="a large plater of mediterranean Grox salad, with nuts and sliced pears.";
        if (attendants>50) then intro+="several platers of mediterranean Grox salad, with nuts and sliced pears.";
        part2="fruit";part3="lobster";
    }
   
   
    if (obj_controller.fest_feature2=1){
        var boozer_type;boozer_type=1;
        if (global.chapter_name="Space Wolves") or (obj_ini.progenitor=3) then boozer_type=2;
        if (global.chapter_name="Blood Angels") or (obj_ini.progenitor=5) then boozer_type=3;
       
        if (boozer_type=1) then intro+="  Also provided is well-aged, finely distilled Amasec.";
        if (boozer_type=2) and (global.chapter_name!="Space Wolves") then intro+="  Also provided is Fenrir-imported Mjod, favored by the sons of Russ.";
        if (boozer_type=2) and (global.chapter_name="Space Wolves") then intro+="  Also provided is Mjod, favored by the sons of Russ.";
        if (boozer_type=3) then intro+="  Many types of alcohol have also been provided in small tasting glasses.  Amasec, Dammassine, and half a dozen other kinds have all been provided.";       
    }
   
    scr_event_newlines(intro);
}




#event step

if (fading=1) and (fade_alpha<1) then fade_alpha+=0.025;
if (fading=-1) and (fade_alpha>0) then fade_alpha-=0.025;
if (time_at<time_min) then time_at+=0.25;
// if (time_at>=time_max) and (stage!=10) then stage=10;
if (exit_fade>=0) and (exit_fade<30) then exit_fade+=1;

if (closing=true) and (fading=-1) and (fade_alpha<=0){
    if (obj_controller.fest_type="Great Feast"){
        if (obj_controller.fest_feature1=1) then obj_controller.fest_feasts+=1;
        if (obj_controller.fest_feature2=1) then obj_controller.fest_boozes+=1;
        if (obj_controller.fest_feature3=1) then obj_controller.fest_drugses+=1;
    }
   
    var ide;ide=0;
    repeat(700){ide+=1;
        if (attend_corrupted[ide]=0) and (attend_id[ide]>0){
            if (string_count("Chaos",obj_ini.artifact_tags[obj_controller.fest_display])>0){
                obj_ini.chaos[attend_co[ide],attend_id[ide]]+=choose(1,2,3,4);
            }
            if (string_count("Daem",obj_ini.artifact_tags[obj_controller.fest_display])>0){
                obj_ini.chaos[attend_co[ide],attend_id[ide]]+=choose(6,7,8,9);
            }
            attend_corrupted[ide]=1;
        }
    }
   
    obj_controller.fest_repeats-=1;
    if (obj_controller.fest_repeats<=0){
        obj_controller.fest_scheduled=0;
       
        var p1,p2,p3;
        p1=obj_controller.fest_type;p3="";
        p2=obj_controller.fest_planet;
       
        if (p2>0) then p3=string(obj_controller.fest_star)+" "+scr_roman(obj_controller.fest_wid);
        if (p2<=0) then p3=+" the vessel '"+string(obj_ini.ship[obj_controller.fest_sid])+"'";
       
        scr_alert("green","event",string(p1)+" on "+string(p3)+" ends.",0,0);
        scr_event_log("green",string(p1)+" on "+string(p3)+" ends.");
    }
   
    with(obj_popup){if (number!=0) then obj_turn_end.alarm[1]=10;instance_destroy();}
    obj_controller.cooldown=30;
    instance_destroy();
}

if (stage>=5) and (stage!=10){ticks+=1;
    if (ticks>=next_display){
        ticks=0;ticked=1;
    }
}

if (ticked=1){// Select a random marine and have them perform an action
    if (lines_acted=18) and (exit_fade<=-1) then exit_fade=0;

    if (lines_acted=18) and (part2!=""){
        if (part2="fish"){
            if (attendants<=30) then textt="Chapter Serfs ferry out several large, covered dishes, the scent of seafood filling the air.  Once they are set front and center the silver cloches are removed, revealing a banquet of exotic fish.  Raw rolls of meat with rice, pufferfish, and even a massive broadbill are contained within.";
            if (attendants>30) then textt="Chapter Serfs ferry out several large, covered dishes, the scent of seafood filling the air.  Once they are set front and center the silver cloches are removed, revealing a banquet of exotic fish.  Raw rolls of meat with rice, pufferfish, and several massive broadbill are contained within.";
        }
        if (part2="fruit"){
            textt="Chapter Serfs ferry out several large, covered bowls.  Without further adeiu the lids are removed, revealing a large bounty of exotic fruits from across the galaxy.  Ploin, pineapple, mangos, strawberries, the fruit ranges from commonplace to nearly disappeared treasures.";
        }
        scr_event_newlines(textt);
        lines_acted+=1;time_min+=10;ticks=-120;
        ticked=0;stage=6;textt="";exit;
    }
    if (lines_acted=36) and (part3!=""){
        if (part3="lobster"){
            textt="A small army of Chapter Serfs and servitors enter the room, carrying with them a truly massive silver plate.  Bore much like a palanquin, the massive dish is covered by an equally large and decorated cloche.  As the main course inches across the room it gathers quite the number of looks.  After struggling a bit the dish is set front and center in the room, the lid removed.  Contained within is a giant, boiled Deathcoleri from Zeriah II.  The once spikey carapace is now a healthily cooked red, the crustacean smelling absolutely delicious.";
        }
        scr_event_newlines(textt);
        lines_acted+=1;time_min+=10;ticks=-210;
        ticked=0;stage=7;textt="";exit;
    }

   
    var ide,good,dire,orig,dice1,dice2,dice3,dice4,txtt,rando,doso,activity;
    good=false;doso=false;activity="";
    dire=0;orig=0;rando=choose(1,2);
    dice1=floor(random(100))+1;
    dice2=floor(random(100))+1;
    dice3=floor(random(100))+1;
   
    repeat(20){
        if (good=false){
            good=true;ide=floor(random(attendants))+1;
            if (obj_ini.role[attend_co[ide],attend_id[ide]]="Chapter Master") then good=false;
            if (obj_ini.role[attend_co[ide],attend_id[ide]]="Master of Sanctity") then good=false;
            if (obj_ini.role[attend_co[ide],attend_id[ide]]="Master of the Apothecarion") then good=false;
            if (obj_ini.role[attend_co[ide],attend_id[ide]]="Forge Master") then good=false;
            if (obj_ini.role[attend_co[ide],attend_id[ide]]="Chief "+string(obj_ini.role[100,17])) then good=false;
        }
    }
    if (good=false) then good=true;
   
   
    // If this marine has already acted then look for a nearby marine that has yet to act
    if (attend_displayed[ide]>0){
        if (attend_displayed[ide]<=attendants/2) then dire=-1;
        if (attend_displayed[ide]>attendants/2) then dire=1;
        orig=ide;
    }
   
    // Cycle downward
    if (dire=-1){good=false;
        var resp;resp=ide;
       
        repeat(resp){
            if (good=false){ide-=1;
                if (attend_displayed[ide]=0) then good=true;
            }
        }
       
        if (good=false) then dire=1;
        if (good=true) then dire=0;
    }
   
    // Cycle upward
    if (dire=1){good=false;
        var resp;resp=attendants;
       
        repeat(resp){
            if (good=false){ide+=1;
                if (attend_displayed[ide]=0) then good=true;
            }
        }
       
    }
   
    if (dire!=0) and (good=false){ide=orig;good=true;}
   
    if (attend_confused[ide]>0){
        if (dice1<=70){
            if (obj_controller.fest_type="Great Feast"){
                doso=false;activity="confused";
            }
        }
        if (dice1>70) then doso=true;
    }
    if (attend_confused[ide]<=0) and (activity="") then doso=true;
   
    if (doso=true){
        dice1=floor(random(100))+1;
        dice2=floor(random(100))+1;
        dice3=floor(random(100))+1;
        dice4=floor(random(100))+1;
       
        if (obj_controller.fest_type="Great Feast"){// Get chances of random crap when in a Great Feast
            var mod1,mod2,mod3,rep1,rep2,rep3;
            mod1=0;mod2=0;mod3=0;
           
            rep1=1;// attend_feasted[ide]+1;
            rep2=attend_drunk[ide]+1;
            rep3=attend_high[ide]+1;
           
            mod2=obj_ini.chaos[attend_co[ide],attend_id[ide]]/5;
            mod3=obj_ini.chaos[attend_co[ide],attend_id[ide]]/10;
           
            activity="talk";
           
            // show_message("roll needed for eating: >="+string((((obj_controller.fest_feasts*30)-10)+mod1)/rep1)+", rolled:"+string(dice1));
            if (dice3<=min(75,(((obj_controller.fest_drugses*10)-10)+mod3)/rep3)) and (obj_controller.fest_feature3>0) then activity="drugs";
            if (dice2<=min(75,(((obj_controller.fest_boozes*20)-10)+mod2)/rep2)) and (obj_controller.fest_feature2>0) then activity="drink";
            if (dice1<=min(75,(((obj_controller.fest_feasts*30))+mod1)/rep1)) and (obj_controller.fest_feature1>0) then activity="eat";
            if ((global.chapter_name="Space Wolves") or (obj_ini.progenitor=3)) and (obj_controller.fest_feature2>0) and (activity!="drink"){
                rando=choose(1,1,2);if (rando=2) then activity="drink";
            }
            rando=choose(1,2,3,4,5,6,7,8,9,10);
            if (rando>=8) then activity="talk";
           
            if (obj_controller.fest_display>0) and (dice4<=15){
                activity="artifact";
            }
           
        }
    }
   
    if (activity="confused"){
        rando=choose(1,2,2,3);
        if (rando=1) then textt=string(obj_ini.role[attend_co[ide],attend_id[ide]])+" "+string(obj_ini.name[attend_co[ide],attend_id[ide]])+" is unsure of what to do.  He sits at the table silently, doing nothing.";
        if (rando=2) then textt=string(obj_ini.role[attend_co[ide],attend_id[ide]])+" "+string(obj_ini.name[attend_co[ide],attend_id[ide]])+" is confused.  He sits at the table and does nothing, wishing he were "+choose("killing xenos","praying","training","training","studying")+" instead.";
       
        // Special CONFUS for the various event types
        if (rando=3){
            if (obj_controller.fest_type="Great Feast") and (obj_controller.fest_feature1>0) then textt=string(obj_ini.role[attend_co[ide],attend_id[ide]])+" "+string(obj_ini.name[attend_co[ide],attend_id[ide]])+" picks up silverwear to begin to feast, but then has second thoughts and puts them back down.";
            if (obj_controller.fest_type="Great Feast") and (obj_controller.fest_feature1<=0) then textt=string(obj_ini.role[attend_co[ide],attend_id[ide]])+" "+string(obj_ini.name[attend_co[ide],attend_id[ide]])+" is unsure of what to do.  He sits at the table silently, doing nothing.";
        }
       
    }
    if (activity="eat"){
        var eater_type;eater_type=1;
        if (global.chapter_name="Space Wolves") or (obj_ini.progenitor=3) then eater_type=2;
       
        if (stage=5) and (eater_type=1){rando=choose(1,2,3);
            if (rando=1) then textt=string(obj_ini.role[attend_co[ide],attend_id[ide]])+" "+string(obj_ini.name[attend_co[ide],attend_id[ide]])+" digs into the food and begins to eat.";
            if (rando=2) then textt=string(obj_ini.role[attend_co[ide],attend_id[ide]])+" "+string(obj_ini.name[attend_co[ide],attend_id[ide]])+" begins to feast, eating the food slowly to enjoy the taste.";
            if (rando=3) then textt=string(obj_ini.role[attend_co[ide],attend_id[ide]])+" "+string(obj_ini.name[attend_co[ide],attend_id[ide]])+" grabs a portion of food for himself and begins to eat.";
        }
        if (stage=5) and (eater_type=2){rando=choose(1,2,3);
            if (rando=1) then textt=string(obj_ini.role[attend_co[ide],attend_id[ide]])+" "+string(obj_ini.name[attend_co[ide],attend_id[ide]])+" digs into the food and begins to eat.";
            if (rando=2) then textt=string(obj_ini.role[attend_co[ide],attend_id[ide]])+" "+string(obj_ini.name[attend_co[ide],attend_id[ide]])+" makes a show out of eating, consuming the food as loudly and dramaticaly as possible.";
            if (rando=3) then textt=string(obj_ini.role[attend_co[ide],attend_id[ide]])+" "+string(obj_ini.name[attend_co[ide],attend_id[ide]])+" begins to stuff their face full of food, hardly bothering to chew.";
        }
        if (stage=6){
            if (part2="fish"){rando=choose(1,2,3,3,3);
                if (rando=1) then textt=string(obj_ini.role[attend_co[ide],attend_id[ide]])+" "+string(obj_ini.name[attend_co[ide],attend_id[ide]])+" selects some of the sushi rolls and begins to pop them into his mouth.";
                if (rando=2) then textt=string(obj_ini.role[attend_co[ide],attend_id[ide]])+" "+string(obj_ini.name[attend_co[ide],attend_id[ide]])+" chooses a bit of each dish, chapter serfs setting up quite the variety of foods on his plate.";
                if (rando=3) then textt=string(obj_ini.role[attend_co[ide],attend_id[ide]])+" "+string(obj_ini.name[attend_co[ide],attend_id[ide]])+" grabs a portion of the broadbill and begins to eat it slowly, savoring the taste.";
            }
            if (part2="fruit"){rando=choose(1,2,3,3,3);
                if (rando=1) then textt=string(obj_ini.role[attend_co[ide],attend_id[ide]])+" "+string(obj_ini.name[attend_co[ide],attend_id[ide]])+" selects an assortment of fruit and begins to eat.";
                if (rando=2) then textt=string(obj_ini.role[attend_co[ide],attend_id[ide]])+" "+string(obj_ini.name[attend_co[ide],attend_id[ide]])+" finishes up the rest of his plate, and hails a serf to bring him some "+choose("pineapple","strawberries","grapes","apples","oranges","of each fruit")+".";
                if (rando=3) then textt=string(obj_ini.role[attend_co[ide],attend_id[ide]])+" "+string(obj_ini.name[attend_co[ide],attend_id[ide]])+" hails a chapter serf, and orders a variety of different fruits.  He then eats them slowly, enjoying the taste.";
            }
        }
        if (stage=7){
            if (part3="lobster"){
                rando=choose(1,2,2,3,3);
                if (eater_type=2) then rando=choose(1,2,2,3,3,4);
                if (rando=1) then textt=string(obj_ini.role[attend_co[ide],attend_id[ide]])+" "+string(obj_ini.name[attend_co[ide],attend_id[ide]])+" helps break open one of the massive legs of the Deathcoleri, then scoops out some of the meat within.";
                if (rando=2) and (eater_type=1) then textt=string(obj_ini.role[attend_co[ide],attend_id[ide]])+" "+string(obj_ini.name[attend_co[ide],attend_id[ide]])+" tears some of the tendrils free from the crustacean and begins to eat them.";
                if (rando=3) and (eater_type=1) then textt=string(obj_ini.role[attend_co[ide],attend_id[ide]])+" "+string(obj_ini.name[attend_co[ide],attend_id[ide]])+" rips some of the delectable meat free from the Deathcoleri's leg, and then eats it slowly, enjoying the treat.";
                if (rando=2) and (eater_type=2) then textt=string(obj_ini.role[attend_co[ide],attend_id[ide]])+" "+string(obj_ini.name[attend_co[ide],attend_id[ide]])+" begins to shovel Deathcoleri meat down his throat, boasting that he will eat more than anyone else.";
                if (rando=3) and (eater_type=2) then textt=string(obj_ini.role[attend_co[ide],attend_id[ide]])+" "+string(obj_ini.name[attend_co[ide],attend_id[ide]])+" rips tendrils free from the crustaceans face and begins to eat them, loudly.";
                if (rando=4) then text=string(obj_ini.role[attend_co[ide],attend_id[ide]])+" "+string(obj_ini.name[attend_co[ide],attend_id[ide]])+" wants the good parts.  He shoves his arm through the beast's shell and scoops out the innards, taking some for himself and sharing other bits.";
            }
        }
       
        attend_feasted[ide]+=1;
    }
    if (activity="drink"){
        var eater_type;eater_type=1;
        if (global.chapter_name="Space Wolves") or (obj_ini.progenitor=3) then eater_type=2;
        if (global.chapter_name="Blood Angels") or (obj_ini.progenitor=5) then eater_type=3;
       
        if (eater_type=1){
            if (attend_drunk[ide]<=0) then textt=string(obj_ini.role[attend_co[ide],attend_id[ide]])+" "+string(obj_ini.name[attend_co[ide],attend_id[ide]])+" hails a serf and has "+choose("him","her")+" pour some Amasec.";
            if (attend_drunk[ide]>0) then textt=string(obj_ini.role[attend_co[ide],attend_id[ide]])+" "+string(obj_ini.name[attend_co[ide],attend_id[ide]])+" sips at his Amasec, "+choose("enjoying the taste","judging the quality","savoring the treat")+".";
        }
        if (eater_type=2){
            // if (attend_drunk[ide]<=0) then textt=string(obj_ini.role[attend_co[ide],attend_id[ide]])+" "+string(obj_ini.name[attend_co[ide],attend_id[ide]])+" hails a serf and has "+choose("him","her")+" bring him a tankard of Mjod.";
            // if (attend_drunk[ide]>0){
                rando=choose(1,2,3);
                if (rando=1) then textt=string(obj_ini.role[attend_co[ide],attend_id[ide]])+" "+string(obj_ini.name[attend_co[ide],attend_id[ide]])+" pounds down Mjod, the concoction already beginning to inebriate the astartes.";
                if (rando=2) then textt=string(obj_ini.role[attend_co[ide],attend_id[ide]])+" "+string(obj_ini.name[attend_co[ide],attend_id[ide]])+" boasts that he will outdrink anyone, and then pounds down his tankard.  Nearby battlebrothers laugh and begin to meet his challenge.";
                if (rando=3) then textt=string(obj_ini.role[attend_co[ide],attend_id[ide]])+" "+string(obj_ini.name[attend_co[ide],attend_id[ide]])+" begins to drink down Mjod, a large frothing glass of the substance in each hand.  He alternates between the two.";
            // }
        }
        if (eater_type=3){
            if (attend_drunk[ide]<=0) then textt=string(obj_ini.role[attend_co[ide],attend_id[ide]])+" "+string(obj_ini.name[attend_co[ide],attend_id[ide]])+" hails a serf and has "+choose("him","her")+" pour him a glass of "+choose("red wine","Amasec","Dammassine")+".";
            if (attend_drunk[ide]>0) then textt=string(obj_ini.role[attend_co[ide],attend_id[ide]])+" "+string(obj_ini.name[attend_co[ide],attend_id[ide]])+" sips at his drink slowly, "+choose("enjoying the taste","judging the quality","analyzing the components")+".";
        }
       
        attend_drunk[ide]+=1;
    }
    if (activity="drugs"){
        attend_high[ide]+=1;
        obj_ini.chaos[attend_co[ide],attend_id[ide]]=min(100,obj_ini.chaos[attend_co[ide],attend_id[ide]]+10);
        if (attend_high[ide]<=1) then textt=string(obj_ini.role[attend_co[ide],attend_id[ide]])+" "+string(obj_ini.name[attend_co[ide],attend_id[ide]])+" snorts up a line of powder through a straw.  Why not?";
        if (attend_high[ide]>1) then textt=string(obj_ini.role[attend_co[ide],attend_id[ide]])+" "+string(obj_ini.name[attend_co[ide],attend_id[ide]])+" snorts another line of powder.";
    }
   
   
    // show_message("activity:"+string(activity)+", text:"+string(textt));
   
   
    if (activity="talk"){
        textt=scr_event_gossip(ide);
    }
   
    if (activity="artifact"){
        var spesh,woa;spesh="";
        woa=string(obj_ini.artifact[obj_controller.fest_display]);
       
        if (string_count("GOAT",obj_ini.artifact_tags[obj_controller.fest_display])>0) then spesh="nerves";
        if (string_count("CHE",obj_ini.artifact_tags[obj_controller.fest_display])>0) then spesh="nerves";
        if (string_count("SPE",obj_ini.artifact_tags[obj_controller.fest_display])>0) then spesh="nerves";
        if (string_count("THI",obj_ini.artifact_tags[obj_controller.fest_display])>0) then spesh="nerves";
        if (string_count("TEN",obj_ini.artifact_tags[obj_controller.fest_display])>0) then spesh="nerves";
        if (string_count("JUM",obj_ini.artifact_tags[obj_controller.fest_display])>0) then spesh="nerves";
        if (string_count("PRE",obj_ini.artifact_tags[obj_controller.fest_display])>0) then spesh="nerves";
        if (string_count("DYI",obj_ini.artifact_tags[obj_controller.fest_display])>0) then spesh="offend";       
        if (spesh="") and (string_count("MNR",obj_ini.artifact_tags[obj_controller.fest_display])>0) then spesh="minor";
       
       
        textt=string(obj_ini.role[attend_co[ide],attend_id[ide]])+" "+string(obj_ini.name[attend_co[ide],attend_id[ide]])+" ";
       
        if (spesh=""){rando=choose(1,2,3,4,5);
            if (rando=1) then textt+="inspects the "+string(woa)+" on display, admiring the craftsmanship.";
            if (rando=2) then textt+="gazes at the "+string(woa)+" Artifact, wondering of its origins.";
            if (rando=3) then textt+="seems enamored with the "+string(woa)+" on display.";
            if (rando=4) then textt+="asks one of his nearby battle brothers what they know of the "+string(woa)+" on display.";
            if (rando=5) then textt+="stares at the "+string(woa)+", not quite sure what to make of it.";
        }
        if (spesh="nerves") or (spesh="offend"){rando=choose(1,2,3);
            if (rando=1) then textt+="is unsettled by the "+string(woa)+" Artifact.";
            if (rando=2) then textt+="stares at the "+string(woa)+", not quite sure what to make of it.";
            if (rando=3) then textt+="has no idea why anyone would choose to make the "+string(woa)+" on display.";
        }
        if (spesh="minor"){rando=choose(1,2,3);
            if (rando=1) then textt+="is unimpressed by the "+string(woa)+" Artifact.";
            if (rando=2) then textt+="has seen finer "+string(woa)+" than the one on display.";
            if (rando=3) then textt+="inspects the "+string(woa)+" on display.  He has seen more impressive ones before.";
        }
       
       
        if (attend_corrupted[ide]=0){
            if (string_count("Chaos",obj_ini.artifact_tags[obj_controller.fest_display])>0){
                obj_ini.chaos[attend_co[ide],attend_id[ide]]+=choose(1,2,3,4);
            }
            if (string_count("Daem",obj_ini.artifact_tags[obj_controller.fest_display])>0){
                obj_ini.chaos[attend_co[ide],attend_id[ide]]+=choose(6,7,8,9);
            }
            attend_corrupted[ide]=1;
        }
Logged
Currently developing Chapter Master

Link to current version.
http://www.bay12forums.com/smf/index.php?topic=142620.msg8298333#msg8298333

keshik

  • Escaped Lunatic
    • View Profile
Re: Chapter Master - In the name of the Emperor!
« Reply #4101 on: July 12, 2021, 10:52:57 pm »

As for a source release... I am leery of them because, it means that someone can modify and then break something, then ask for help, which means I could spend hours trying to fix a non-problem (This has happened to me before). However I will do a source release sooner then later, I just want to finish a surprise feature first.

I really hope that you do this, start a repo on github or bitbucket or wherever you like - but this game is very cool and it's clearly died in development three times already because of people taking the parlor approach to creation.

If you open source the project you can get PRs from skilled people, and community folks can offer support and spare you the trouble of exactly the thing you fear.
Logged

TheLion

  • Bay Watcher
    • View Profile
Re: Chapter Master - In the name of the Emperor!
« Reply #4102 on: July 13, 2021, 09:01:09 am »

As for a source release... I am leery of them because, it means that someone can modify and then break something, then ask for help, which means I could spend hours trying to fix a non-problem (This has happened to me before). However I will do a source release sooner then later, I just want to finish a surprise feature first.

I really hope that you do this, start a repo on github or bitbucket or wherever you like - but this game is very cool and it's clearly died in development three times already because of people taking the parlor approach to creation.

If you open source the project you can get PRs from skilled people, and community folks can offer support and spare you the trouble of exactly the thing you fear.

No can do with the open repo, GW cannot be trusted to leave things well enough alone. I do have contingencies in place to ensure that my source files will be released.

Also due to the amount of spaghetti code and anti pattern programming there is no way to have multiple contributors for most things. A tiny change in one file can effect 10 others in unforeseeable ways, and as it stands I am struggling to deal the bugs I create due to this. So at this point adding others would likely decrease the amount of progress made.
Logged
Currently developing Chapter Master

Link to current version.
http://www.bay12forums.com/smf/index.php?topic=142620.msg8298333#msg8298333

nenjin

  • Bay Watcher
  • Inscrubtable Exhortations of the Soul
    • View Profile
Re: Chapter Master - In the name of the Emperor!
« Reply #4103 on: July 13, 2021, 09:41:41 am »

Quote
I just realized I didn't paste the the misc actions during the event, I think you may also want this.

Excellent, this is what I was needing.

I'm not a programmer although I do work in tech and can read some code. I don't want to create extra debugging work for you just by adding some text, so I'll start simply. I think I get the code but I'll start with some basic stuff first.
Logged
Cautivo del Milagro seamos, Penitente.
Quote from: Viktor Frankl
When we are no longer able to change a situation, we are challenged to change ourselves.
Quote from: Sindain
Its kinda silly to complain that a friendly NPC isn't a well designed boss fight.
Quote from: Eric Blank
How will I cheese now assholes?
Quote from: MrRoboto75
Always spaghetti, never forghetti

BP

  • Bay Watcher
    • View Profile
Re: Chapter Master - In the name of the Emperor!
« Reply #4104 on: July 14, 2021, 01:10:10 am »

Just started playing the new version TheLion put out and man its been really stable, really glad to be back in Chapter Master.

Anyone know if the Heresy Mod stuff would still work for this?

Thanks for what you're doing Lion, loving it
Logged

TheLion

  • Bay Watcher
    • View Profile
Re: Chapter Master - In the name of the Emperor!
« Reply #4105 on: July 15, 2021, 05:31:44 pm »

Chapter Master 0.6600

https://ufile.io/keazmvyh

Change Log
Code: [Select]
Version 0.6600 GMS2
Notes
-With the conversion to GMS2, I cannot guarantee stability.  I am only 90% confident nothing of note is broken.

Fixed
-Crash caused by getting the STC bonus to vehicle accuracy ad then sending vehicles into combat.
-Crash caused by a typo in obj_turn_end_Alarm_0 when Orks invaded.
-Transfer showing empty boxes for unit roles company screen.
-Ship/world names overlapping with armour in company screen.
-Lost ships now return after a random amount of time (10-100 turns).
-Splintered ships on creation to now work as intended (I think it's being weird).
-Changed the range of boarding to the max range on the parent ship.
-Daemon binders no longer results in instant failure, instead it will take several encounters with the inquisition before they freak out.

Changes
-Made it, so you always get loot after you clear a space hulk and added a small chance to get Tartaros armour.
-Added the option to decrypt saves in the options menu, BACK UP YOUR SAVES; if you break them, you are on your own.
-Changed the fleet selection menu, selecting a category (de)selects all within, selecting names (de)selects as well.
--Selecting the background no longer selects all.
-Changed how company screen logic works D
--DOUBLE CLICK has been disabled.
--Right-click selected all of the selected unit types.
--All multi-select options no longer inverse selection, but instead select all targeted, and if all are selected, deselects them.
--If none are selected, the group with the most units at a location will be selected.
-Made planets random features (????) generate on creation, but also made more of on gen. (Will be adding more options at a later date.)
-Added symbols on the planets when they have features of interest or require help. (! Coloured threats)
-Activated "Cave Network" planetary feature, however temporarily make it equal to Ancient Ruins.
-Assault a Necron tomb without a mission, land troops, end turn. (requires plasma bomb, still decent chance of failure)
-Removed the need to have the chapter master present to control the fleet. (It's too buggy without control.)
-Increased the chances of the tau spawning on gen from 33% to 66%.

Code Changes
-Refactored unit selection and unit selection buttons on the company screen.
-Converted project from GMS 1.4 to GMS 2.
-Added proper documentation (Jsdoc) to some of the existing code.
-Started converting dedicated object scripts into object functions.

New Cheats (Many of these events will proc but will not create a popup)
eventg0="space_hulk";
eventg1="promotion";
eventg2="strange_building";
eventg3="sororitas";
eventg4="rogue_trader";
eventg5="inquisition_mission";
eventg6="inquisition_planet";
eventg7="mechanicus_mission";

eventn0="strange_behavior";
eventn1="fleet_delay";
eventn2="harlequins";
eventn3="succession_war";
eventn4="random_fun";

eventb0="warp_storms";
eventb1="enemy_forces";
eventb2="crusade";
eventb3="enemy";
eventb4="mutation";
eventb5="ship_lost";
eventb6="chaos_invasion";
eventb7="necron_awaken";
« Last Edit: July 16, 2021, 09:03:27 am by TheLion »
Logged
Currently developing Chapter Master

Link to current version.
http://www.bay12forums.com/smf/index.php?topic=142620.msg8298333#msg8298333

TheLion

  • Bay Watcher
    • View Profile
Re: Chapter Master - In the name of the Emperor!
« Reply #4106 on: July 17, 2021, 02:16:01 pm »

Can we expect a source release soon? Being able to compile for Linux would be nice.

[EDIT] It seems there is no way to assault a necron tomb without a mission from the inquisition. I cleared out the tyranids initially on the world and then tried unloading marines on it to raid it, and then I tried actually straight up raiding the planet and neither seemed to do much. When it finally activated, the wrong planet turned necron green.

Even after it activates, it doesn't seem possible to blow it up with a plasma bomb. Maybe I'm doing something wrong, but it won't do anything even after wiping out the necrons in battle,
Save is here.

« Last Edit: July 29, 2021, 03:16:16 pm by TheLion »
Logged
Currently developing Chapter Master

Link to current version.
http://www.bay12forums.com/smf/index.php?topic=142620.msg8298333#msg8298333

snowdrifts

  • Bay Watcher
    • View Profile
Re: Chapter Master - In the name of the Emperor!
« Reply #4107 on: July 17, 2021, 07:40:55 pm »

I tried to search, I really did, but I didn't find this anywhere else.

I can't equip artifacts to my Chapter Master. When I go to the relic screen, and select equip, as soon as I try to check the box by HQ it closes out and goes back to the usual relic screen. I can select anyone from any other section, although it doesn't look like the artifacts are getting equipped even then.
Logged

nenjin

  • Bay Watcher
  • Inscrubtable Exhortations of the Soul
    • View Profile
Re: Chapter Master - In the name of the Emperor!
« Reply #4108 on: July 18, 2021, 09:16:58 am »

Are you playing a custom or a canon chapter? I don’t think canon chapter characters can have their equipment changed?
Logged
Cautivo del Milagro seamos, Penitente.
Quote from: Viktor Frankl
When we are no longer able to change a situation, we are challenged to change ourselves.
Quote from: Sindain
Its kinda silly to complain that a friendly NPC isn't a well designed boss fight.
Quote from: Eric Blank
How will I cheese now assholes?
Quote from: MrRoboto75
Always spaghetti, never forghetti

snowdrifts

  • Bay Watcher
    • View Profile
Re: Chapter Master - In the name of the Emperor!
« Reply #4109 on: July 18, 2021, 10:24:49 am »

Custom chapter. There were several comments over on the other place about the same problem, so it looks like it's not just me.
Logged
Pages: 1 ... 272 273 [274] 275 276 ... 288